9  Validación del Modelo

Author

Brayan Cubides

10 Introducción

Este documento presenta un análisis de diagnóstico completo para un modelo de regresión lineal múltiple ajustado a los datos de Atletas. El objetivo es verificar rigurosamente los supuestos del modelo de Mínimos Cuadrados Ordinarios (MCO) e identificar observaciones que puedan tener una influencia desproporcionada en los resultados. Se abordan temas como el apalancamiento, los valores atípicos, la influencia, la linealidad, la multicolinealidad, la heterocedasticidad, la normalidad y la independencia de los residuales.

10.0.1 Librerías Requeridas

Se cargan únicamente los paquetes necesarios para la ejecución de este análisis.

library(readxl)
library(MASS)      # Para studres()
library(lmtest)    # Para bptest(), dwtest(), resettest()
library(car)       # Para vif(), influencePlot(), qqPlot()
library(tseries)   # Para jarque.bera.test(), runs.test()
library(glmtoolbox) # Para envelope() plot

10.0.2 Carga de Datos y Ajuste del Modelo Inicial

Atletas <- read_excel("Atletas.xlsx")
fit <- lm(lbm ~ 1 + ht + wt + rcc, data = Atletas)
summary(fit)

Call:
lm(formula = lbm ~ 1 + ht + wt + rcc, data = Atletas)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0163 -1.8628  0.1932  1.8690  6.0228 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.30797    6.71133  -0.195   0.8459    
ht           0.06848    0.04126   1.660   0.1003    
wt           0.56637    0.03156  17.945   <2e-16 ***
rcc          1.42480    0.74008   1.925   0.0572 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.359 on 94 degrees of freedom
Multiple R-squared:  0.8896,    Adjusted R-squared:  0.8861 
F-statistic: 252.6 on 3 and 94 DF,  p-value: < 2.2e-16

11 a-b) Alta Palanca (Leverage)

El apalancamiento (leverage) mide qué tan atípica es una observación en términos de sus valores predictores (el espacio de las \(X\)). Un punto tiene alta palanca si su valor “hat”, \(h_{ii}\), es grande. - Regla de Decisión: Se considera alta palanca si \(h_{ii} > 2p/n\) (límite flexible) o \(h_{ii} > 3p/n\) (límite estricto), donde \(p\) es el número de parámetros y \(n\) es el tamaño de la muestra.

n <- nrow(Atletas)
p <- length(coef(fit)) # Número de parámetros estimados

# Gráfico de los valores de apalancamiento (hat values)
plot(hatvalues(fit), type = "h", main = "Índice de Valores de Apalancamiento")
abline(h = 2 * p / n, col = "blue", lty = 2)
abline(h = 3 * p / n, col = "red", lty = 2)
legend("topright", legend = c("Corte 2p/n", "Corte 3p/n"), col = c("blue", "red"), lty = 2)

# Gráfico de Residuales vs. Apalancamiento
plot(fit, which = 5)

# Identificar los puntos con mayor apalancamiento
head(sort(hatvalues(fit), decreasing = TRUE))
        29         88         15         46         72          8 
0.18079617 0.12238528 0.11289888 0.11023575 0.10859570 0.09539981 
# La siguiente función es para uso interactivo en una sesión de R.
# La llamada a la función se ha comentado para permitir el renderizado del documento.
highleverage <- function(fit) {
  p <- length(coefficients(fit))
  n <- length(fitted(fit))
  ratio <- p / n
  plot(hatvalues(fit), main = 'Index Plot of Ratio')
  abline(h = c(2, 3) * ratio, col = 'red', lty = 2)
  identify(1:n, hatvalues(fit), names(hatvalues(fit)))
}
# x11() # Abre una nueva ventana gráfica
# highleverage(fit)

12 c) Observaciones Atípicas (Outliers)

Los outliers son observaciones con un gran error de predicción. Se identifican usando los residuales estudentizados, que siguen una distribución t de Student. - Regla de Decisión: Una observación se considera un outlier potencial si su residual estudentizado absoluto, \(|r_{i, stud}|\), es mayor que 3.

# Residuales estudentizados
stud_res <- studres(fit)

# Ordenar los residuales estudentizados de mayor a menor en valor absoluto
head(sort(abs(stud_res), decreasing = TRUE))
      61       11       78        8       31       77 
2.654511 2.431029 2.188384 2.114137 1.978733 1.838908 
# Boxplot para detectar valores extremos
boxplot(stud_res, main = "Boxplot de Residuales Estudentizados")

Conclusión: No se observan valores que superen el umbral de 3, por lo que no hay outliers claros.

13 d) Observaciones Influyentes

Una observación influyente es aquella que, si se elimina, cambia significativamente el ajuste del modelo. Combina tanto el apalancamiento como el tamaño del residual.

  • Métrica Principal: Distancia de Cook (\(D_i\)).
  • Regla de Decisión: Un punto es potencialmente influyente si \(D_i > 4/(n-p)\).
par(mfrow=c(1,2))
# Gráfico de la Distancia de Cook
corte <- 4 / (n - p)
plot(fit, which = 4, cook.levels = corte)
abline(h = corte, lty = 2, col = "red")

# Gráfico de Influencia (combina leverage, outliers y Cook's D)
influencePlot(fit, id.method = "identify", main = "Gráfico de Influencia", sub = "El tamaño del círculo es proporcional a la D_Cook")
Warning in plot.window(...): "id.method" is not a graphical parameter
Warning in plot.xy(xy, type, ...): "id.method" is not a graphical parameter
Warning in axis(side = side, at = at, labels = labels, ...): "id.method" is not
a graphical parameter
Warning in axis(side = side, at = at, labels = labels, ...): "id.method" is not
a graphical parameter
Warning in box(...): "id.method" is not a graphical parameter
Warning in title(...): "id.method" is not a graphical parameter
Warning in plot.xy(xy.coords(x, y), type = type, ...): "id.method" is not a
graphical parameter

      StudRes        Hat      CookD
8  -2.1141372 0.09539981 0.11364647
11  2.4310286 0.01547449 0.02206976
29  0.9495061 0.18079617 0.04979524
61  2.6545107 0.01569311 0.02638844
88 -0.7970870 0.12238528 0.02223641

13.1 Comparación de modelos con y sin puntos influyentes

# Puntos identificados como más influyentes
puntos_influyentes <- c(8, 11, 29, 61, 88)

# Modelo sin las observaciones influyentes
fit3 <- update(fit, subset = -puntos_influyentes)
summary(fit3)

Call:
lm(formula = lbm ~ 1 + ht + wt + rcc, data = Atletas, subset = -puntos_influyentes)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.9716 -1.7651  0.3121  1.6611  4.1714 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.91599    6.61588  -0.441   0.6605    
ht           0.08378    0.04105   2.041   0.0442 *  
wt           0.55346    0.03277  16.887   <2e-16 ***
rcc          1.36103    0.69893   1.947   0.0547 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.187 on 89 degrees of freedom
Multiple R-squared:  0.8827,    Adjusted R-squared:  0.8788 
F-statistic: 223.4 on 3 and 89 DF,  p-value: < 2.2e-16

14 e) Patrones Inexplicados (Linealidad)

Se verifica si la relación funcional entre los predictores y la respuesta es lineal. - Método: Test RESET de Ramsey. - \(H_0\): La forma funcional del modelo es correcta (lineal).

# Gráficos de residuales vs. predictores y valores ajustados
par(mfrow=c(2,2))
plot(Atletas$ht, stud_res, xlab="Altura")
plot(Atletas$wt, stud_res, xlab="Peso")
plot(Atletas$rcc, stud_res, xlab="Glóbulos Rojos")
plot(fitted(fit), stud_res, xlab="Valores Ajustados")

par(mfrow=c(1,1))

# Aplicar el test RESET
resettest(fit, type = "regressor")

    RESET test

data:  fit
RESET = 0.60525, df1 = 6, df2 = 88, p-value = 0.7255
resettest(fit, type = "fitted")

    RESET test

data:  fit
RESET = 1.3113, df1 = 2, df2 = 92, p-value = 0.2745

Conclusión: Los p-valores (0.50 y 0.52) son grandes, por lo que no se rechaza \(H_0\). No hay evidencia de patrones no lineales no explicados.

15 f) Multicolinealidad

Se evalúa la correlación entre las variables predictoras. - Métrica: Factor de Inflación de la Varianza (VIF). - Regla de Decisión: Un VIF > 5 o 10 indica un problema potencial de multicolinealidad.

vif(fit)
      ht       wt      rcc 
2.046316 2.046744 1.000422 

Conclusión: Todos los VIF son bajos, lo que sugiere que no hay problemas de multicolinealidad.

16 g) Heteroscedasticidad

Se verifica si la varianza de los errores es constante (homocedasticidad). - Método: Test de Breusch-Pagan. - \(H_0\): Hay homocedasticidad (varianza constante).

# Gráficos descriptivos
plot(fit, which = 3) # Scale-Location plot

plot(fit$fitted.values, stud_res, main="Residuales Estudentizados vs. Ajustados")

# Test de Breusch-Pagan
bptest(fit)

    studentized Breusch-Pagan test

data:  fit
BP = 4.9099, df = 3, p-value = 0.1785

Conclusión: El p-valor (0.24) es mayor que 0.05, por lo que no se rechaza \(H_0\). No hay evidencia de heterocedasticidad.

17 h) Normalidad

Se verifica si los errores siguen una distribución normal. - Métodos: Gráficos (Q-Q Plot, histograma) y pruebas formales (Shapiro-Wilk, Jarque-Bera). - \(H_0\): Los residuales siguen una distribución normal.

# Gráficos de diagnóstico
par(mfrow=c(1,2))
plot(fit, which = 2) # Q-Q Plot
hist(stud_res, main="Histograma de Residuales Estudentizados")

par(mfrow=c(1,1))

# Pruebas de normalidad
shapiro.test(stud_res)

    Shapiro-Wilk normality test

data:  stud_res
W = 0.98627, p-value = 0.4047
jarque.bera.test(stud_res)

    Jarque Bera Test

data:  stud_res
X-squared = 0.64192, df = 2, p-value = 0.7255
# Q-Q Plot con bandas de confianza simuladas (robusto ante outliers)
envelope(fit)

  |                                                        
  |                                                  |   0%
  |                                                        
  |                                                  |   1%
  |                                                        
  |+                                                 |   2%
  |                                                        
  |++                                                |   3%
  |                                                        
  |++                                                |   4%
  |                                                        
  |++                                                |   5%
  |                                                        
  |+++                                               |   6%
  |                                                        
  |++++                                              |   7%
  |                                                        
  |++++                                              |   8%
  |                                                        
  |++++                                              |   9%
  |                                                        
  |+++++                                             |  10%
  |                                                        
  |++++++                                            |  11%
  |                                                        
  |++++++                                            |  12%
  |                                                        
  |++++++                                            |  13%
  |                                                        
  |+++++++                                           |  14%
  |                                                        
  |++++++++                                          |  15%
  |                                                        
  |++++++++                                          |  16%
  |                                                        
  |++++++++                                          |  17%
  |                                                        
  |+++++++++                                         |  18%
  |                                                        
  |++++++++++                                        |  19%
  |                                                        
  |++++++++++                                        |  20%
  |                                                        
  |++++++++++                                        |  21%
  |                                                        
  |+++++++++++                                       |  22%
  |                                                        
  |++++++++++++                                      |  23%
  |                                                        
  |++++++++++++                                      |  24%
  |                                                        
  |++++++++++++                                      |  25%
  |                                                        
  |+++++++++++++                                     |  26%
  |                                                        
  |++++++++++++++                                    |  27%
  |                                                        
  |++++++++++++++                                    |  28%
  |                                                        
  |++++++++++++++                                    |  29%
  |                                                        
  |+++++++++++++++                                   |  30%
  |                                                        
  |++++++++++++++++                                  |  31%
  |                                                        
  |++++++++++++++++                                  |  32%
  |                                                        
  |++++++++++++++++                                  |  33%
  |                                                        
  |+++++++++++++++++                                 |  34%
  |                                                        
  |++++++++++++++++++                                |  35%
  |                                                        
  |++++++++++++++++++                                |  36%
  |                                                        
  |++++++++++++++++++                                |  37%
  |                                                        
  |+++++++++++++++++++                               |  38%
  |                                                        
  |++++++++++++++++++++                              |  39%
  |                                                        
  |++++++++++++++++++++                              |  40%
  |                                                        
  |++++++++++++++++++++                              |  41%
  |                                                        
  |+++++++++++++++++++++                             |  42%
  |                                                        
  |++++++++++++++++++++++                            |  43%
  |                                                        
  |++++++++++++++++++++++                            |  44%
  |                                                        
  |++++++++++++++++++++++                            |  45%
  |                                                        
  |+++++++++++++++++++++++                           |  46%
  |                                                        
  |++++++++++++++++++++++++                          |  47%
  |                                                        
  |++++++++++++++++++++++++                          |  48%
  |                                                        
  |++++++++++++++++++++++++                          |  49%
  |                                                        
  |+++++++++++++++++++++++++                         |  50%
  |                                                        
  |++++++++++++++++++++++++++                        |  51%
  |                                                        
  |++++++++++++++++++++++++++                        |  52%
  |                                                        
  |++++++++++++++++++++++++++                        |  53%
  |                                                        
  |+++++++++++++++++++++++++++                       |  54%
  |                                                        
  |++++++++++++++++++++++++++++                      |  55%
  |                                                        
  |++++++++++++++++++++++++++++                      |  56%
  |                                                        
  |++++++++++++++++++++++++++++                      |  57%
  |                                                        
  |+++++++++++++++++++++++++++++                     |  58%
  |                                                        
  |++++++++++++++++++++++++++++++                    |  59%
  |                                                        
  |++++++++++++++++++++++++++++++                    |  60%
  |                                                        
  |++++++++++++++++++++++++++++++                    |  61%
  |                                                        
  |+++++++++++++++++++++++++++++++                   |  62%
  |                                                        
  |++++++++++++++++++++++++++++++++                  |  63%
  |                                                        
  |++++++++++++++++++++++++++++++++                  |  64%
  |                                                        
  |++++++++++++++++++++++++++++++++                  |  65%
  |                                                        
  |+++++++++++++++++++++++++++++++++                 |  66%
  |                                                        
  |++++++++++++++++++++++++++++++++++                |  67%
  |                                                        
  |++++++++++++++++++++++++++++++++++                |  68%
  |                                                        
  |++++++++++++++++++++++++++++++++++                |  69%
  |                                                        
  |+++++++++++++++++++++++++++++++++++               |  70%
  |                                                        
  |++++++++++++++++++++++++++++++++++++              |  71%
  |                                                        
  |++++++++++++++++++++++++++++++++++++              |  72%
  |                                                        
  |++++++++++++++++++++++++++++++++++++              |  73%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++             |  74%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++            |  75%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++            |  76%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++            |  77%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++           |  78%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++          |  79%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++          |  80%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++          |  81%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++++         |  82%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++        |  83%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++        |  84%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++        |  85%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++++++       |  86%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++      |  87%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++      |  88%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++      |  89%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++++++++     |  90%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++    |  91%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++    |  92%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++    |  93%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++++++++++   |  94%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++++  |  95%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++++  |  96%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++++  |  97%
  |                                                        
  |+++++++++++++++++++++++++++++++++++++++++++++++++ |  98%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++++++|  99%
  |                                                        
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100%

Conclusión: Las pruebas formales no rechazan la normalidad (p-valores > 0.05), y los gráficos son consistentes con este supuesto.

18 i) Independencia

Se verifica si los errores no están correlacionados entre sí. Es crucial si los datos tienen un orden temporal o espacial. - Métodos: Gráfico de autocorrelación (ACF), Test de Durbin-Watson, Test de Rachas. - \(H_0\) (Durbin-Watson): No hay autocorrelación de primer orden. - \(H_0\) (Runs Test): La secuencia de signos de los residuales es aleatoria.

# Correlación en el tiempo (si los datos están ordenados temporalmente)
plot(stud_res, type = "l", main="Residuales en orden de observación")
abline(h = 0, col = "red")

acf(stud_res, main="Función de Autocorrelación")

# Test de Durbin-Watson
dwtest(fit)

    Durbin-Watson test

data:  fit
DW = 2.0451, p-value = 0.5828
alternative hypothesis: true autocorrelation is greater than 0
# Prueba de rachas para independencia
x <- factor(sign(stud_res))
runs.test(x)

    Runs Test

data:  x
Standard Normal = -0.18682, p-value = 0.8518
alternative hypothesis: two.sided

Conclusión: El p-valor del test de Durbin-Watson es alto (0.19), por lo que no se rechaza la independencia de los errores.